Heterogeneous disk storage management techique

ABSTRACT

Management of one or more storage devices is achieved by first identifying each device by its make and model, and then establishing a database containing information about that device, such as (a) operational rules, (b) commands and (c) processing routines. From the information obtained from the database, a Graphical User Interface is created for display to afford a user at least one menu option for selection. Upon selecting the one menu option, the user obtains at least one of (a) a display of information associated with the identified storage device, and (b) execution of at least one process to control, at least in part, the operation of the identified storage device. The user&#39;s selection is processed and the Graphical User Interface is automatically updated in response to the processing of the user&#39;s selected menu option.

CROSS REFERENCE TO RELATED APPLICATION

This application claims priority under 35 U.S.C. 119(e) to U.S.Provisional Patent Application Ser. No. 60/392,779, filed Jul. 1, 2002,the teachings of which are incorporated herein.

TECHNICAL FIELD

This invention relates to a technique for managing one or more storagedevices.

BACKGROUND ART

Advances in the design and manufacture of magnetic storage devices havesignificantly reduced the cost of such devices, as measured in terms ofthe cost per gigabyte of storage capacity. The relatively low cost ofhigh storage capacity devices has resulted in the proliferation of largearrays of such devices, such as a Redundant Array of Independent Disks(RAID). Various manufacturers of storage devices commonly offer suchRAIDs with proprietary software for controlling the individual storagedevices within the RAID.

Storage devices from different manufactures often have differentfeatures. Combining storage devices from different manufacturer affordsthe ability to take advantage of the best features of each device.Unfortunately, no technique presently exists for low-level management ofheterogeneous storage devices, such as a set of heterogeneous storagedevices within a RAID. While software presently exists for managingRAIDs from different vendors across a network, such software lacks theability to manage one or more storage devices from separate vendors in asingle RAID, or to effectively manage a stand-alone storage device.

Thus, there is a need for a technique for managing one or more storagedevices.

BRIEF SUMMARY OF THE INVENTION

Briefly, in accordance with present principles, there is provided amethod for managing at least one storage device, such as a magnetic diskdrive, magneto-optical device, or a tape storage device, and preferably,a plurality of such storage devices. The method commences by identifyingeach device, typically by its manufacturer. For each identified storagedevice, a database is created containing information about that device.For example, the information within such a database will include theworking characteristics of that storage device, specific interfaceprotocols and operational rules. From the information about each storagedevice obtained from the corresponding database, a Graphical UserInterface (GUI) is created for display to provide a user with at leastone menu option for selection. Upon selecting the one menu option, theuser obtains at least one of (a) a display of information associatedwith the identified storage device, and (b) execution of at least oneprocess to control, at least in part, the operation of the identifiedstorage device. The user's selection is processed and the Graphical UserInterface is automatically updated in response to the processing of theuser's selected menu option. Thus, for example, if the user had selecteda menu option to cause the identified storage device to perform aparticular operation, the Graphical User Interface provides an updateddisplay that reflects the results of that operation performed by thestorage device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a block schematic diagram of a system in accordance withpresent principles for managing at least one storage device;

FIG. 2 depicts in flow chart form the steps of a method executed by thesystem of FIG. 1 to manage the at least one storage device; and

FIG. 3 depicts an opening screen of a Graphical User Interface displayedto a user.

DETAILED DESCRIPTION

FIG. 1 depicts a block schematic diagram of a host system 10 formanaging at least one, and preferably a plurality of storage devices,exemplified by storage devices 12 ₁, 12 ₂ and 12 ₃. Each of the storagesdevices 12 ₁, 12 ₂ and 12₃ can take the form of a single magnetic oroptical disk drive, a magnetic tape drive, or an array of individualstorage devices, such as a Redundant Array of Independent Disks (RAID).In practice, the storage devices 12 ₁-12 ₃ originate from differentmanufacturers. Thus, each storage device often possesses slightlydifferent operating characteristics that must be taken into account whenmanaging that device.

A fibre channel fabric 14 couples the storage devices 12 ₁-12 ₃ to ahost bus adapter 16 that interfaces the devices to the host system 10.The host bus adapter 16 typically has its own Small Computer SystemInterface (SCSI) to funnel information between the host system 10 andthe storage devices 12 ₁-12 ₃ through the fibre channel fabric 14. Thehost bus adapter 16 can include other interfaces for disk storagedevices that do not use SCSL Note that the storage devices 12 ₁-12 ₃could each enjoy a direct connection with the host bus adapter 16,thereby obviating the need for the fibre channel fabric 14. Thus, thestorage devices 12 ₁-12 ₃ are not limited to fibre channel storagedevices but could comprise any type of storage device responsive to SCSIcommands.

The host system 10 typically comprises a general-purpose computer suchas a well know personal computer or a mini computer. Associated with thehost system 10 is at least one database (DBS) 18 that contains one ormore libraries. Each library within the database 18 contains informationspecific to a corresponding one of the storage devices 12 ₁-12 ₃. Inparticular, the library associated with each of the storage devices 12₁-12 ₃ typically includes the operating characteristics associated withthat storage device. The device operating characteristics includes atleast one of (a) operational rules, (b) commands, and (c) processingroutines. While the embodiment of FIG. 1 depicts a single database 18that contains the associated library for each of the storage devices 12₁-12 ₃, the library associated with each storage device could reside ona separate database (not shown). In practice, each library in thedatabase 18 depends only on SCSI commands. Thus, the host bus adapter 16need not be limited to a Fibre Channel (FC)/SCSI host bus adapterbecause regardless of the lower level protocol (e.g., fibre channelfabric in this case), the commands in the library don't need to rely onthe specific host bus adapter protocol.

The host system 10 includes a Communication Object Model(COM)/Distributed Communications Object Model (DCOM) layer 20, which, inpractice, takes the form of a memory that includes specificconfiguration rules for each of the storage devices 12 ₁-12 ₃. Inpractice, the configuration rules for each storage device are determinedfrom the information stored in the corresponding library for each suchdevice. The COM/DCOM layer 20 also includes one or more applets,programs and/or sub-routines (collectively referred as “programs”)typically in the form of C++ objects that are exposed via multipleinterfaces and can be instantiated via multiple languages acrossmultiple machines in one or more networks. The programs in the COM/DCOMlayer 20 monitor each requested operation for each of the storagedevices 12 ₁-12 ₃ to ensure that the requested operation complies withthe rules for that storage device as established by its manufacturer.Any requested operation of a storage device not in compliance with therule(s) associated with that device will be blocked and an error messagewill be generated. Execution by the host system 10 of the programsresident in the COM/DCOM layer 20 can occur without the need for theuser to remain at a terminal (not shown).

The host system 10 also executes a Graphical User Interface (GUI)application 22 that manages input information received from each of thestorage devices 12 ₁-12 ₃ as well as input information received from oneor more users. From such input information, the GUI application 22generates a graphical interface for display to the user on a displaydevice (not shown). The overall format of the information displayed bythe GUI 22 to the user for each storage drive has a uniform appearance,but different menu options are tailored for each storage device toaccount for its particular features.

FIG. 2 illustrates in flow chart form the steps of a method executed bythe host system 10 to manage the storage devices 12 ₁-12 ₃ in accordancewith the present principles. The method of FIG. 2 commences uponexecution of step 100 during which the host system 10 of FIG. 1undertakes discovery of which storage devices are attached thereto. Inother words, during step 100, the host system 10 launches a query todetermine the identity of the attached devices 12 ₁-12 ₃, andparticularly, the make (i.e., the manufacturer) and the model number ofeach device. In addition to discovering the make and model of eachdevice, the host system 10 also ascertains during step 100 whether eachdevice is directly attached to the host bus adapter 16 or is attachedthrough the fibre channel fabric 14. During step 100, the host system 10will assign an identifier to each discovered storage devices. Theassigned identifier can comprise a fibre channel fabric identifierassigned when the device is attached to the fibre channel fabric 14 ofFIG. 1. Alternatively, the identifier could comprise a Logical UnitNumber (LUN) or vendor identification number assigned to the device.

Following step 100, execution of step 110 occurs at which time, the hostsystem 10 categorizes each discovered storage device by its make andmodel. During step 110, the host system 10 establishes a library foreach storage device discovered during step 100, with each libraryresiding in a single database (e.g., database 18 of FIG. 1) or inseparate databases. As discussed previously, each library associatedwith a storage device will include the operational rules, commands andprocessing routines associated with that device. Execution of step 120follows step 110 at which time, the host system 10 executes theGraphical User Interface (GUI) application 22 of FIG. 1 to create anddisplay the GUI to the user.

FIG. 3 depicts an illustrative screen display 200 that comprises part ofthe GUI provided to the user. The screen display 200 includes systempane 202 typically appearing at the left-hand side of the screendisplay. The system pane 202 provides a hierarchical display of thevarious devices and sub-elements found by the host system 10 during step100 of FIG. 2, with each device and sub-element appearing in the systempane 202 of FIG. 3 as a corresponding icon. In the exemplary embodimentof FIG. 3, the icon 206 appearing in the system pane 202 corresponds tothe presence of a Vendor Unique Storage Device (not shown) found by thehost system 10 during step 100 of FIG. 2. The icon 208 appearing in thesystem pane 202 of FIG. 3 corresponds to a controller node (not shown)within the Vendor Unique Storage Device represented by the icon 206. Theicon 210 within the system pane 202 signifies the existence of one ormore bound LUNs (not shown) associated with the controller noderepresented by icon 206. The icon 210 identifies a corresponding LUNwithin the Bound LUNs represented by the icon 210. Lastly, the icon 212within the system pane 202 of FIG. 3 signifies the presence of one ormore unbound disks (not shown). One or more of the icons 206-212 canhave an associated drop-down menus to allow a user to obtain one of (a)a display of information associated with the identified storage device,and (b) execution of at least one process to control, at least in part,the operation of the identified storage device.

Still referring to FIG. 3, the screen display 200 includes a sub-systemdisplay pane 214 in addition to the display pane 202. In practice, thesub-system display pane 214 displays specific information related to theselection by a user (via a mouse or the like) of a particular one of theicons 206-212. In the exemplary embodiment, highlighting the controllernode icon 208 causes the sub-system display pane 214 to display morespecific information about the controller node.

Referring to FIG. 2, following creation and display of the GUI duringstep 120, the host system 10 then awaits input from a user who typicallyselects one or more menu options. Such menu options can include (but arenot limited to) the following:

-   -   bind a group of physical storage devices into a Logical Unit        Number (LUN)    -   unbind a set of LUNs    -   designate one or more storage devices as hot spares    -   set each storage device system clock    -   load vendor specific firmware to individual controllers and/or        storage devices    -   check/set vendor specific controller and/or storage device        settings    -   blink the storage device Light Emitting Diodes (LEDs) if present        for identification purposes    -   identify state information    -   establish fibre channel fabric IDs for each storage device    -   start or stop a RAID rebuild operation    -   start or stop one or more consistency check operations    -   initialize a file system in a discrete storage system

After receipt of by a user of one or more menu selections, then the step124 of FIG. 2 occurs, at which time the host system 10 of FIG. 1processes the received menu selection. In practice, the host system 10processes the menu selection through an appropriate software stack untilthe specific storage device to which the menu selection was directedexecutes the selection. Following step 124, step 126 occurs, whereuponthe host system 10 automatically updates the GUI previously displayed tothe user to reflect changes that occurred as a result of execution ofthe user-selected menu option. In this way, the user can visuallyobserve the results of the selected menu option. Following step 126,program execution branches back to step 122 to wait for user selectionof another menu option.

The foregoing describes a technique for managing one or more storagedevices having different operating characteristics.

1. A method for managing at least one storage device, comprising thesteps of: (a) identifying the one storage device; (b) establishing adatabase containing information about the identified device; (c)providing to the user a graphical user interface in accordance with theinformation in the database, the graphical interface displaying at leastone menu option for the identified device for selection by the user torequest at least one of (i) display of information and (ii) execution ofat least one process to control the operation of the one storage device;(d) processing the selected menu option; and (e) automatically updatingthe graphical user interface in response to the processing of theselected menu option.
 2. The method according to claim 1 wherein thestep of identifying the one storage device comprises the step ofascertaining a manufacturer and model number for the one storage device.3. The method according to claim 1 wherein the step of establishing adatabase comprises the step of obtaining information that includes atleast one of (a) operational rules, (b) commands and (c) processingroutines of the one storage device.
 4. The method according to claim 3wherein the processing step includes determining if the requestedexecution of the at least one process complies with the operationalrules for the identified device, and if not, blocking execution of theat least one process; and generating an error message.
 5. The methodaccording to claim 1 wherein the step of providing a graphical userinterface includes the steps of: displaying icons representative of eachidentified devices in a hierarchical fashion in a first pane; anddisplaying information in a second pane related a corresponding one ofthe icons displayed in a first pane.
 6. The method according to claim 1wherein steps (d) and (e) are repeated following receipt of eachsubsequent menu selection made by a user.
 7. Apparatus for managing atleast one storage device, comprising: a database containing informationabout potential storage devices; and a processor coupled to at least onestorage device for (a) identifying the one storage device; (b) providingto a user a graphical user interface in accordance with the informationin the database, the graphical interface displaying at least one menuoption for the identified device for selection by the user to request atleast one of (i) display of information and (ii) execution of at leastone process to control the operation of the one storage device; (d)processing the selected menu option; and (e) automatically updating thegraphical user interface in response to the processing of the selectedmenu option.
 8. The apparatus according to claim 7 wherein the processoridentifies the one storage device by ascertaining its manufacturer andmodel number.
 9. The apparatus according to claim 7 database containsinformation that includes at least one of (a) operational rules, (b)commands and (c) processing routines of the one storage device.
 10. Theapparatus according to claim 7 wherein the processor process theselected menu option by (a) determining if the requested execution ofthe at least one process complies with the operational rules for theidentified device, and if not, (b) blocking execution of the at leastone process; and (c) generating an error message.
 11. The apparatusaccording to claim 7 wherein the processor provides the graphical userinterface by (a) displaying icons representative of each identifieddevices in a hierarchical fashion in a first pane; and (b) displayinginformation in a second pane related a corresponding one of the iconsdisplayed in a first pane.